Page({

  data: {
    userPhoto: '', // 用户头像
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  // 注册函数
  register: function (e) {
    const formData = e.detail.value; // 获取表单数据
    // 检查用户名和密码是否为空
    if (!formData.userName || !formData.password) {
      wx.showToast({
        title: '用户名和密码不能为空',
        icon: 'none',
        duration: 2000
      });
      return;
    }
    // 如果未设置头像，则根据性别设置默认头像
    if (!this.data.userPhoto) {
      const defaultPhotos = [
        '',
        '',
        ''
      ];
      formData.userPhoto = defaultPhotos[formData.userSex - 1];
    } else {
      // 如果设置了头像，则使用用户选择的头像
      formData.userPhoto = this.data.userPhoto;
    }
    
    // 如果未输入年龄，默认为28
    if (!formData.userAge) {
      formData.userAge = 28;
    }
    // 调用后端接口，发送注册请求
    wx.request({
      url: 'http://localhost:8880/shequ/wxuser/add',
      method: 'POST',
      data: formData,
      success: function (res) {
        console.log('注册成功', res.data);
        wx.navigateTo({
          url: '/pages/login/login',
        });
      },
      fail: function (err) {
        console.error('注册失败', err);
        wx.showToast({
          title: '注册失败，请稍后重试',
          icon: 'none',
          duration: 2000
        });
      }
    });
  },

  // 选择本地图片并上传头像
  uploadPhoto: function () {
    const that = this; // 保存页面实例的引用
    wx.chooseImage({
      count: 1,
      success: res => {
        const tempFilePaths = res.tempFilePaths;
        that.setData({
          userPhoto: tempFilePaths[0] // 更新页面数据
        });
        // 调用上传头像到七牛云的函数
        that.uploadImageToQiniu(tempFilePaths[0], that);
      },
      fail: err => {
        console.error('选择图片失败', err);
        wx.showToast({
          title: '选择图片失败，请稍后重试',
          icon: 'none',
          duration: 2000
        });
      }
    });
  },


  // 上传图片到七牛云
  uploadImageToQiniu: function (imgPath, pageContext) {
    wx.uploadFile({
      url: 'http://localhost:8880/tool/upload',
      filePath: imgPath,
      name: 'file',
      success(res) {
        var data = JSON.parse(res.data);
        if (data.flag === true) {
          var imgUrl = '' + data.data;
          console.log(imgUrl);
          // 更新页面数据，确保注册时使用的是用户上传的头像
          pageContext.setData({
            userPhoto: imgUrl
          });
        } else {
          console.error("图片上传失败:", data.msg);
        }
      },
      fail(err) {
        console.error("图片上传失败！:", err);
      }
    });
  },


  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})